博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm整合
阅读量:6432 次
发布时间:2019-06-23

本文共 9383 字,大约阅读时间需要 31 分钟。

SSM项目搭建

1  整合夹包:maven构建 pom.xml如下

commons-fileupload
commons-fileupload
1.3.3
commons-io
commons-io
2.1
org.springframework
spring-test
3.2.4.RELEASE
test
org.springframework
spring-webmvc
4.3.7.RELEASE
org.springframework
spring-jdbc
4.3.7.RELEASE
org.springframework
spring-aspects
4.3.7.RELEASE
org.mybatis
mybatis
3.4.2
org.mybatis
mybatis-spring
1.3.1
c3p0
c3p0
0.9.1.2
mysql
mysql-connector-java
5.1.40
javax.servlet
jstl
1.2
javax.servlet
javax.servlet-api
3.1.0
provided
junit
junit
4.12
test
org.springframework
spring-test
4.3.7.RELEASE
test

  

  生成夹包结构如图:

 

 

 2  spring-mybatis.xml配置

  

3 mybatis.xml配置

  

 4  spring-mvc.xml配置

   

 5 web.xml配置

contextConfigLocation
classpath:spring-mybatis.xml
org.springframework.web.context.ContextLoaderListener
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
springDispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
springDispatcherServlet
/
Archetype Created Web Application

通过上面的配置  项目答题上已经配置完成  接下来就是具体逻辑的书写:

  mapper层中应该定义一个接口写要用的方法,  在mappeer.xml中写相应的sql语句:

接口:

package com.login.mapper;import java.util.List;import org.apache.ibatis.annotations.Param;import com.login.entity.User;public interface UserMapper {	/*根据id查单个用户*/	public User findUserById(int id);		/*查询所有的用户*/	public List
findAllUsers(); /*新增单个用户用户*/ public void inserUser(User user); /*修改用户信息 传入多个参数*/ public void updateUser(@Param("user") User user,@Param("id")int id); /*根据用户id 删除用户*/ public void deleteUser(int id); }

  mapper.xml:

insert into user(user_id,user_name,user_pwd,user_phone) values(null,#{username},#{userpwd},#{userphone})
update user set user_name=#{user.username}, user_pwd=#{user.userpwd},user_phone=#{user.userphone} where user_id=#{id}
delete from user where user_id=#{id}

 以上就是具体的dao层写法   service层将dao层注入   

  web层代码如下:  

package com.login.web;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import com.login.entity.User;import com.login.services.UserServices;@Controllerpublic class UserServlet {	@Autowired	private UserServices userServices;		/*根据id查单个用户*/	@RequestMapping("/findUserById")	public User findUserById(int id){		User user=userServices.findUserById(id);		return user;	}			/*查询所有用户的信息*/	@RequestMapping("/findAllUsers")	public String findAllUsers(Model mode) {		List
list=userServices.findAllUsers(); mode.addAttribute("list",list); return "userMessage"; } /*新增单个用户用户*/ @RequestMapping("/inserUser") public String inserUser(HttpServletRequest request){ String username=request.getParameter("username"); String userpwd=request.getParameter("userpwd"); String userphone=request.getParameter("userphone"); User user=new User(username, userpwd, userphone); userServices.inserUser(user); return "start"; } /*修改用户信息*/ @RequestMapping("/updateUser") public void updateUser(User user,int id){ userServices.updateUser(user, id); } /*根据用户id 删除用户*/ @RequestMapping("/deleteUser") public String deleteUser(int id){ userServices.deleteUser(id); return "userMessage"; } }

 前端界面:

上面只是简单实现了ssm框架的整合,实现了增删改查操作,没有考虑相关的校验。

 

mybatis分页

    1 导入mybatis分页夹包    pagehelper-4.1.5.jar

    2  mybatis配置分页

    <plugins>

        <plugin interceptor="com.github.pagehelper.PageHelper"></plugin>
    </plugins>

    3   分页控制层编写 

    4  前台分页jstl方式显示

 

@RequestMapping("/userInfo")    public String getUsers(@RequestParam(value="pn",defaultValue="1")Integer pn,Model model){        //从第一条开始 每页查询五条数据        PageHelper.startPage(pn, 5);        List
list=userServices.findAllUsers(); //将用户信息放入PageInfo对象里 PageInfo page = new PageInfo(list,5); model.addAttribute("pageInfo", page); System.out.println(page); return "pagelist"; }

  

 

  
${user11.userid }ddd
  
${user11.username }name
当前第:${pageInfo.pageNum}页,总共:${pageInfo.pages}页,总共:${pageInfo.total}条记录

  

 

 

注意:

    1  Autowired注入的(通常)是接口

   2   在测试的时候需要先将配置文件加载进来才能实例化对象,才能调用方法  对于spring可以采用下面方式加载配置文件

      @RunWith(SpringJUnit4ClassRunner.class)

      @ContextConfiguration(locations={"classpath:SqlConfig.xml","classpath:spring-mybatis.xml" })

  3   在spring-mvc  配置中  需要有适配器 /应摄器  不然进不了requestMapping 中

  4   resultMap的用法   resultType要求数据库字段和属性名相同  不然赋不了值

 

解决编译问题

  

 

转载于:https://www.cnblogs.com/MyJavaStudy/p/9279560.html

你可能感兴趣的文章
J2me的异常处理和多线程
查看>>
选择、生成-EA与数据库的交互-by小雨
查看>>
客户网页WIZnet无线解决方案 之 太阳能逆变器
查看>>
CCRepeatForever和CCDelayTime
查看>>
android jni aotf 错误
查看>>
Azkaban的功能特点(二)
查看>>
[RxJS] Add debug method to Observable in TypeScript
查看>>
1、金融之关于BIAS
查看>>
[转]ASP.NET Core基本原理(11)-管理应用程序状态
查看>>
VS Code搭建.NetCore开发环境(一)
查看>>
01字典树贪心查询+建立+删除(个人模版)
查看>>
java-信息安全(十一)-非对称加密算法ECC以及ECDSA签名
查看>>
(转)Flex的编译过程--ActionScript字节码(ABC)
查看>>
Directory Listing Denied
查看>>
今天讲座的感悟--java
查看>>
o(1)复杂度之双边滤波算法的原理、流程、实现及效果。
查看>>
corner2
查看>>
我见过的几种类型的员工(转)
查看>>
web前端的十种jquery特效及源码下载
查看>>
poj 3414 Pots (bfs+线索)
查看>>